package com.qf.core.utils;


import com.qf.core.exception.BaseException;
import com.qf.core.response.ResponseCode;

import java.util.Arrays;
import java.util.List;
import java.util.Set;
import java.util.stream.Collectors;

/**
 * @Author: sin
 * @Date: 2025/5/7 15:34
 * @Description: 通用工具类
 **/
public class ToolUtils {
    /**
     * 判断字符串是否包含指定的子字符串
     *
     * @param str  字符串
     * @param args 子字符数组
     * @return 若字符串包含指定的子字符串，则返回true；否则返回false
     */
    public static boolean contains(String str, String... args) {
        for (String arg : args) {
            if (str.contains(arg)) {
                return true;
            }
        }
        return false;
    }

    /**
     * @param ids
     * @Description: 根据字符串获取Long集合
     * @return
     */
    public static Set<Long> getLongSetByString(String ids) {
        if(ids == null || ids.isEmpty()) {
            throw new BaseException(ResponseCode.COMMON_BULK_DELETE_IDS_IS_INVALID);
        }
        return Arrays.stream(ids.split(",")).map(Long::valueOf).collect(Collectors.toSet());
    }

    /**
     * 判断列表是否包含指定字符串
     *
     * @param list 字符串列表
     * @param target 目标字符串
     * @return 包含返回true，否则返回false
     */
    public static boolean containsString(List<String> list, String target) {
        return list != null && list.contains(target);
    }
}
